.\" .\" UCSD p-System filesystem in user space .\" Copyright (C) 2006 Peter Miller .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. .\" .\" MANIFEST: input for archive/index.html .\" .ad l .hy 0 .so version.so ucsd-psystem-fs \*(v)

ucsd-psystem-fs \*(v)

.br
.br .\" ------------------------------------------------------------------------
SourceForge.net
Logo

This page is hosted by SourceForge: see also the .br Project and .br Statistics pages.

.br .\" ------------------------------------------------------------------------ .br

The ucsd-psystem-fs package is composed of several utility programs which may be used to manipulate and mount UCSD p-Systems disk images.

.br

[ Download | .\" Mailing List | Online Repository ]

.br .\" ------------------------------------------------------------------------ .br

You could support this project with a donation.

.br .\" ------------------------------------------------------------------------ .br

About This Project

The ucsd-psystem-fs project makes it possible to mount UCSD p-System disk images as Linux file sytems.

This project has been successfully tested against several disk image formats. All of the disk formats are automatically detected at run time, no guessing by the user is required. The formats supported include:

IIRC, the original UCSD p-System did not permit more than one file being open for writing at the same time. Files in this file system are represented by a single continuous disk extent. This implementation uses the Buffer Gap algorithm, found in many text editors, to manage file extents being written. This implementation can cope with two (or more) files open for writing at the same time, however performance will be impacted as disk blocks will constantly be shuffled back and forth as the gap is moved to the end of each of the files being written. .\" ------------------------------------------------------------------------

See Also

Jefferson Computer Museum
This site has links and history for the UCSD p-System.

Mailing List
In 2004 Yahoo! group devoted to UCSD Pascal was started.

Mario Klebsch
has written a p-code interpreter in C. It should be portable to all POSIX systems. It can even display TurtleGraphics in X11.
UCSD
UCSD officially released some of the source.

FUSE
The ucsd-psystem-fs project uses FUSE, making it possible to implement a fully functional filesystem in a userspace program.

Search Google
You make like to search Google for more UCSD p-System information.

Ancient History

The UCSD P-System is a portable operating system that was popular in the early days of personal computers, in the late 1970s and early 1980s.

Like today's Java, it was based on a “virtual machine” with a standard set of low-level, machine-language-like “p-code” instructions that were emulated on different hardware, including the 6502, the 8080, the Z-80, and the PDP-11. In this way, a Pascal compiler that emitted p-code executables could produce a program that could be run under the P-System on an Apple II, a Xerox 820, or a DEC PDP-11.

The most popular language for the P-System was UCSD Pascal. In fact, the P-System operating system itself was written in UCSD Pascal, making the entire operating system relatively easy to port between platforms.

By writing a p-code interpreter in the platform's native assembly language, and a few minimal hooks to operating system functions for the file system and interacting with the user, you could move a p-code executable from another system and run it on the new platform. In this way, the p-code generated on one computer could be used to bootstrap the port of the P-System to another computer.

From the Jefferson Computer Museum web site.

.br
.\" ------------------------------------------------------------------------
.br .br The ucsd-psystem-fs package is written and owned by Peter Miller <millerp@canb.auug.org.au> and is freely distributable under the terms and conditions of the GNU GPL. .br .br .fi .br There is more Software by Peter Miller at his home page.

ucsd-psystem-fs is developed using Aegis, a transaction based software configuration management system. The Aegis repository for this project is available. .br

.br
.br
This page has been accessed approximately .nf .fi times since .ds MO1 Jan .ds MO2 Feb .ds MO3 Mar .ds MO4 Apr .ds MO5 May .ds MO6 Jun .ds MO7 Jul .ds MO8 Aug .ds MO9 Sep .ds MO10 Oct .ds MO11 Nov .ds MO12 Dec .nr y4 \n[yr]+1900 \n[dy]-\*[MO\n[mo]]-\n[y4].